home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr23 / chansw53.zip / CHAIN4.CPP < prev    next >
C/C++ Source or Header  |  1993-05-24  |  3KB  |  123 lines

  1.  
  2. // FILE: CHAIN4.CPP
  3. // MODULE: OUTPUT
  4. // PROGRAM: CHAINSAW 
  5.  
  6. // Public Domain, 5/24/93, Ted Davis
  7.  
  8. #include "chainsaw.hpp"
  9.  
  10.  
  11. // The next six functions construct message strings and call Output to
  12. // print them.
  13. void PrintDirFailedMessage(char *DirName)
  14. {
  15.     strcpy(DummyMessage, "*** Removal of directory: ");
  16.     strcat(DummyMessage, DirName);
  17.     strcat(DummyMessage, " FAILED.\n");
  18.     strcat(DummyMessage, Emessage());
  19.     DirFailed.Message = DummyMessage;
  20.     Output(DirFailed);
  21. }
  22.  
  23. void PrintDirOkMessage(char *DirName)
  24. {
  25.     strcpy(DummyMessage, "... Removed directory: ");
  26.     strcat(DummyMessage, DirName);
  27.     strcat(DummyMessage, ".\n");
  28.     DirOK.Message = DummyMessage;
  29.     Output(DirOK);
  30.     SummaryData.Dirs++;
  31. }
  32.  
  33. void PrintFileFailedMessage(char *FileName)
  34. {
  35.     strcpy(DummyMessage, "*** Deletion of file: ");
  36.     strcat(DummyMessage, FileName);
  37.     strcat(DummyMessage, " FAILED.\n");
  38.     strcat(DummyMessage, Emessage());
  39.     FileFailed.Message = DummyMessage;
  40.     Output(FileFailed);
  41. }
  42.  
  43. void PrintFileOkMessage(char *FileName)
  44. {
  45.     strcpy(DummyMessage, "... Deleted file: ");
  46.     strcat(DummyMessage, FileName);
  47.     strcat(DummyMessage, ".\n");
  48.     FileOK.Message = DummyMessage;
  49.     Output(FileOK);
  50.     SummaryData.Files++;
  51. }
  52. void PrintSummary(SumData SummaryData)
  53. {
  54. char Tstr[8];
  55.     strcpy(DummyMessage, "CHAINSAW deleted ");
  56.     if(SummaryData.Files)
  57.     {
  58.         sprintf(Tstr, "%i",SummaryData.Files);
  59.         strcat(DummyMessage, Tstr);
  60.     }
  61.     else
  62.     {
  63.         strcat(DummyMessage, "no");
  64.     }
  65.     strcat(DummyMessage, " file");
  66.     if(SummaryData.Files != 1)
  67.     {
  68.         strcat(DummyMessage, "s");
  69.     }
  70.     strcat(DummyMessage, " and removed ");
  71.     if(SummaryData.Dirs)
  72.     {
  73.         sprintf(Tstr, "%i",SummaryData.Dirs);
  74.         strcat(DummyMessage, Tstr);
  75.     }
  76.     else
  77.     {
  78.         strcat(DummyMessage, "no");
  79.     }
  80.     if(SummaryData.Dirs != 1)
  81.     {
  82.         strcat(DummyMessage, " directories.\n");
  83.     }
  84.     else
  85.     {
  86.         strcat(DummyMessage, " directory.\n");
  87.     }
  88.     Summary.Message = DummyMessage;
  89.     Output(Summary);
  90. }
  91.  
  92. void PrintFileProtected(char *FileName)
  93. // Note that this uses the same message structure as the other file failed
  94. // message;  only one of them can run per pass and this simply adds the
  95. // explanation that would otherwise come from _strerror().
  96. {
  97.     strcpy(DummyMessage, "*** Deletion of file: ");
  98.     strcat(DummyMessage, FileName);
  99.     strcat(DummyMessage, " FAILED.\n");
  100.     strcat(DummyMessage, "*** Error: read-only, hidden or system.\n");
  101.     FileFailed.Message = DummyMessage;
  102.     Output(FileFailed);
  103. }
  104.  
  105. void Output(Message_ M)
  106. // Selects the destination (STDERR or STDOUT) based on the message type which
  107. // is 0 (no display), 1 (STDERR), or 2 (STDOUT).
  108. {
  109.     switch(M.Type)
  110.     {
  111.         case 0:
  112.             break;
  113.         case 1:
  114.             cerr << M.Message;
  115.             break;
  116.         case 2:
  117.             cout << M.Message;
  118.             break;
  119.         default:
  120.             break;
  121.     }
  122. }
  123.